package com.jt.sys.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.jt.common.vo.Node;
import com.jt.sys.entity.SysMenu;


public interface SysMenuDao {
	/**
	 * 查询菜单以及上一级菜单信息
	 * @return
	 */
	List<Map<String, Object>> findObjects();
	/**
	 * 基于菜单id统计子菜单的个数
	 * @param id 当前菜单的id
	 * @return
	 */
	int getChildCount(Integer id);
	/**
	 * 基于菜单id执行删除操作
	 * @param id
	 * @return
	 */
	int deleteObject(Integer id);
	/**
	 * 查询菜单的树节点信息
	 * 一个Node对应一行记录
	 * @return
	 */
	List<Node> findZtreeMenuNodes();
	/**
	 * 将菜单对象持久化到数据库
	 * @param entity
	 * @return
	 */
	int insertObject(SysMenu entity);
	
	Map<String , Object> findObjectById(Integer id);
	
	int updateObject(SysMenu entity);
	
	List<String> findPermissions(@Param("menuIds")Integer... menuIds);
}
